home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 3 / ct-rom iiib.zip / ct-rom iiib / WINDOWS / DIVERSEN / WINE02BX / FORTRAN.ELC < prev    next >
Text File  |  1993-03-28  |  27KB  |  263 lines

  1. ;;; compiled by @win386 on Sat Mar 13 14:31:25 1993
  2. ;;; from file c:/src/lucid-19.4/lisp/modes/fortran.el
  3. ;;; emacs version 19.3 Lucid.
  4. ;;; bytecomp version 2.08; 27-aug-92.
  5. ;;; optimization is on.
  6. ;;; this file uses opcodes which do not exist in Emacs18.
  7.  
  8. (if (and (boundp 'emacs-version)
  9.      (or (and (boundp 'epoch::version) epoch::version)
  10.          (string-lessp emacs-version "19")))
  11.     (error "This file was compiled for Emacs19."))
  12.  
  13. (byte-code "└┬ç" ["version 1.28.7" fortran-mode-version nil] 1)
  14. (defvar fortran-tab-mode-default nil "\
  15. *Default tabbing/carriage control style for empty files in fortran mode.
  16. t indicates that tab-digit style of continuation control will be used.
  17. nil indicates that continuation lines are marked with a character in
  18. column 6.")
  19. (defvar fortran-do-indent 3 "\
  20. *Extra indentation applied to `do' blocks.")
  21. (defvar fortran-if-indent 3 "\
  22. *Extra indentation applied to `if' blocks.")
  23. (defvar fortran-structure-indent 3 "\
  24. *Extra indentation applied to `structure', `union' and `map' blocks.")
  25. (defvar fortran-continuation-indent 5 "\
  26. *Extra indentation applied to `continuation' lines.")
  27. (defvar fortran-comment-indent-style 'fixed "\
  28. *nil forces comment lines not to be touched,
  29. 'fixed produces fixed comment indentation to fortran-comment-line-column
  30. beyond fortran-minimum-statement-indent, and 'relative indents to current
  31. fortran indentation plus fortran-comment-line-column.")
  32. (defvar fortran-comment-line-column 0 "\
  33. *Amount of extra indentation for text within full-line comments.")
  34. (defvar comment-line-start nil "\
  35. *Delimiter inserted to start new full-line comment.")
  36. (defvar comment-line-start-skip nil "\
  37. *Regexp to match the start of a full-line comment.")
  38. (defvar fortran-minimum-statement-indent 6 "\
  39. *Minimum indentation for fortran statements.")
  40. (defvar fortran-comment-indent-char " " "\
  41. *Single-character string inserted for Fortran comment indentation.
  42. Normally a space.")
  43. (defvar fortran-line-number-indent 1 "\
  44. *Maximum indentation for Fortran line numbers.
  45. 5 means right-justify them within their five-column field.")
  46. (defvar fortran-check-all-num-for-matching-do nil "\
  47. *Non-nil causes all numbered lines to be treated as possible do-loop ends.")
  48. (defvar fortran-blink-matching-if nil "\
  49. *From a fortran `endif' statement, blink the matching `if' statement.")
  50. (defvar fortran-continuation-string "$" "\
  51. *Single-character string used for fortran continuation lines.
  52. In fixed format continuation style, this character is inserted in
  53. column 6 by \\[fortran-split-line] to begin a continuation line.
  54. Also, if \\[fortran-indent-line] finds this at the beginning of a line, it will
  55. convert the line into a continuation line of the appropriate style.
  56. Normally $.")
  57. (defvar fortran-comment-region "c$$$" "\
  58. *String inserted by \\[fortran-comment-region] at start of each line in region.")
  59. (defvar fortran-electric-line-number t "\
  60. *Non-nil causes line number digits to be moved to the correct column as typed.")
  61. (defvar fortran-startup-message t "\
  62. *Non-nil displays a startup message when Fortran mode is first called.")
  63. (defvar fortran-column-ruler " " "\
  64. *String displayed above current line by \\[fortran-column-ruler].")
  65. (defconst bug-fortran-mode "bug-fortran-mode@erl.mit.edu" "\
  66. Address of mailing list for Fortran mode bugs.")
  67. (defvar fortran-mode-syntax-table nil "\
  68. Syntax table in use in Fortran mode buffers.")
  69. (defvar fortran-analyze-depth 100 "\
  70. Number of lines to scan to determine whether to use fixed or tab format style.")
  71. (defvar fortran-break-before-delimiters t "\
  72. Non-nil causes fortran-do-auto-fill breaks lines before delimeters.")
  73. (byte-code "¼╤┴ ┬├─#ê┬┼╞#ê┬╟╚#ê┬╔╚#ê┬╩╚#ê┬╦╚#ê┬╠╚#ê┬═╬#ê┬╧╬#ê┬╨╤#ê┬╥─#ê┬╙─#ê┬╘╒#ê┴ç" [fortran-mode-syntax-table make-syntax-table modify-syntax-entry 59 "w" 13 " " 43 "." 45 61 42 47 39 "\"" 34 92 "/" 46 95 10 ">"] 4)
  74. (defvar fortran-mode-map nil "\
  75. Keymap used in fortran mode.")
  76. (byte-code "äù┴ ┬├─#ê┬┼╞#ê┬╟╚#ê┬╔╩#ê┬╦╠#ê┬═╬#ê┬╧╨#ê┬╤╥#ê┬╙╘#ê┬╒╓#ê┬╫╪#ê┬┘┌#ê┬█▄#ê┬▌▐#ê┬▀α#ê┬ßα#ê┬Γα#ê┬πα#ê┬Σα#ê┬σα#ê┬µα#ê┬τα#ê┬Φα#ê┬Θα#êΩδ!¼â∞++äL-.∩δ∞\"ê≡+±≥∞$ê≡+≤⌠∞$ê≡+⌡÷∞$ê≡+≈°∞$ê≡+∙·∞$ê≡+√ⁿ∞$ê≡+²■∞$ê≡+ ü@∞$ê≡+üAüB∞$ê≡+üCüD∞$ê≡+üEüF∞$ê≡+üGüH∞$ê≡+üIüJ∞$ê≡+üKüL∞$ê≡+üMüN∞$ê≡+üOüP∞$ê≡+üQüR∞$ê≡+üSüT∞$ê≡+üUüV∞$ê≡+üWüX∞$ê≡+üYüZ∞$ê≡+ü[ü\\∞$ê≡+ü]ü^∞$ê≡+ü_ü`∞$ê≡+üaüb∞$ê≡+ücüd∞$ê≡+üeüf∞$ê≡+ügüh∞$ê≡+üiüj∞$ê≡+ükül∞$ê≡+ümün∞$ê≡+üoüp∞$ê≡+üqür∞$ê≡+üsüt∞$ê≡+üuüv∞$ê≡+üwüx∞$ê≡+üyüz∞$ê≡+ü{ü|∞$ê≡+ü}ü~∞$ê≡+üüÇ∞$ê≡+üüüé∞$ê≡+üâüä∞$ê≡+üàüå∞$ê≡+üçüê∞$ê≡+üëüè∞$ê≡+üïüî∞$ê≡+üìüÄ∞$ê≡+üÅüÉ∞$ê≡+üæüÆ∞$ê≡+üôüö∞$ê≡+üòüû∞$ê≡+üùüÿ∞$ê≡+üÖüÜ∞$ê≡+ü¢ü£∞$ê≡+ü¥ü₧∞$ê≡+üƒüá∞$ê≡+üíüó∞$ê≡+üúüñ∞$ê.-)∞ç" [fortran-mode-map make-sparse-keymap define-key ";" fortran-abbrev-start ";" fortran-comment-region "" beginning-of-fortran-subprogram "" end-of-fortran-subprogram "" fortran-indent-comment "" mark-fortran-subprogram "\n" fortran-split-line "\n" fortran-reindent-then-newline-and-indent "" fortran-indent-subprogram "" fortran-window-create-momentarily "" fortran-column-ruler "" fortran-previous-statement "" fortran-next-statement "    " fortran-indent-line "0" fortran-electric-line-number "1" "2" "3" "4" "5" "6" "7" "8" "9" boundp fortran-mode-abbrev-table nil abbrevs-changed ac define-abbrev-table define-abbrev ";au" "automatic" ";b" "byte" ";bD" "block data" ";ch" "character" ";cl" "close" ";c" "continue" ";cm" "common" ";cx" "complex" ";df" "define" ";di" "dimension" ";do" "double" ";dc" "double complex" ";dp" "double precision" ";dw" "do while" ";e" "else" ";ed" "enddo" ";el" "elseif" ";en" "endif" ";eq" "equivalence" ";eW" "endwhere" ";ex" "external" ";ey" "entry" ";f" "format" ";fa" ".false." ";fu" "function" ";g" "goto" ";im" "implicit" ";ib" "implicit byte" ";ic" "implicit complex" ";ich" "implicit character" ";ii" "implicit integer" ";il" "implicit logical" ";ir" "implicit real" ";inc" "include" ";in" "integer" ";intr" "intrinsic" ";l" "logical" ";n" "namelist" ";o" "open" ";pa" "parameter" ";pr" "program" ";ps" "pause" ";p" "print" ";rc" "record" ";re" "real" ";r" "read" ";rt" "return" ";rw" "rewind" ";s" "stop" ";sa" "save" ";st" "structure" ";sc" "static" ";su" "subroutine" ";tr" ".true." ";ty" "type" ";vo" "volatile" ";w" "write" ";wh" "where"] 5)
  77. (fset 'fortran-mode #[nil "└ ê    ½å┬├ #ê╞╔\n!ê╦╠!ê═ ╦╬!ê╧╦╨!ê╤╦╥!ê╙╦╘!ê╒╦╓!ê╫╦╪!ê╞╦┘!ê═╦┌!ê═╦█!ê╞═▌▀ !êß\"π$╦σ!ê╦µ!ê╦τ!ê╦Φ!ê╦Θ!êσΩ !êδ∞!ç" [kill-all-local-variables fortran-startup-message message "Emacs Fortran mode %s.  Bugs to %s" fortran-mode-version bug-fortran-mode nil fortran-mode-abbrev-table local-abbrev-table set-syntax-table fortran-mode-syntax-table make-local-variable fortran-break-before-delimiters t indent-line-function fortran-indent-line comment-indent-hook fortran-comment-hook comment-line-start-skip "^[Cc*]\\(\\([^     \n]\\)\\2\\2*\\)?[     ]*\\|^#.*" comment-line-start "c" comment-start-skip "![     ]*" comment-start require-final-newline abbrev-all-caps indent-tabs-mode abbrev-mode 72 fill-column use-local-map fortran-mode-map "Fortran" mode-name fortran-mode major-mode fortran-tab-mode fortran-comment-line-column fortran-minimum-statement-indent fortran-column-ruler fortran-tab-mode-string fortran-analyze-file-format run-hooks fortran-mode-hook] 4 "\
  78. Major mode for editing fortran code.
  79. Tab indents the current fortran line correctly. 
  80. `do' statements must not share a common `continue'.
  81.  
  82. Type `;?' or `;\\[help-command]' to display a list of built-in abbrevs for Fortran keywords.
  83.  
  84. Key definitions:
  85. \\{fortran-mode-map}
  86.  
  87. Variables controlling indentation style and extra features:
  88.  
  89.  comment-start
  90.     Normally nil in Fortran mode.  If you want to use comments
  91.     starting with `!', set this to the string \"!\".
  92.  fortran-do-indent
  93.     Extra indentation within do blocks.  (default 3)
  94.  fortran-if-indent
  95.     Extra indentation within if blocks.  (default 3)
  96.  fortran-structure-indent
  97.     Extra indentation within structure, union and map blocks.  (default 3)
  98.  fortran-continuation-indent
  99.     Extra indentation applied to continuation statements.  (default 5)
  100.  fortran-comment-line-column
  101.     Amount of extra indentation for text within full-line comments. (default 0)
  102.  fortran-comment-indent-style
  103.     nil    means don't change indentation of text in full-line comments,
  104.     fixed  means indent that text at fortran-comment-line-column beyond
  105.            the value of fortran-minimum-statement-indent,
  106.     relative  means indent at fortran-comment-line-column beyond the
  107.            indentation for a line of code.
  108.     (default 'fixed)
  109.  fortran-comment-indent-char
  110.     Single-character string be inserted instead of space for
  111.     full-line comment indentation.  (default \" \")
  112.  fortran-minimum-statement-indent
  113.     Minimum indentation for fortran statements. (default 6)
  114.  fortran-line-number-indent
  115.     Maximum indentation for line numbers.  A line number will get
  116.     less than this much indentation if necessary to avoid reaching
  117.     column 5.  (default 1)
  118.  fortran-check-all-num-for-matching-do
  119.     Non-nil causes all numbered lines to be treated as possible 'continue'
  120.     statements.  (default nil)
  121.  fortran-blink-matching-if 
  122.     From a fortran `endif' statement, blink the matching `if' statement.
  123.     (default nil)
  124.  fortran-continuation-string
  125.     Single-character string to be inserted in column 5 of a continuation
  126.     line.  (default \"$\")
  127.  fortran-comment-region
  128.     String inserted by \\[fortran-comment-region] at start of each line in 
  129.     region.  (default \"c$$$\")
  130.  fortran-electric-line-number
  131.     Non-nil causes line number digits to be moved to the correct column 
  132.     as typed.  (default t)
  133.  fortran-break-before-delimiters
  134.     Non-nil causes fortran-do-auto-fill breaks lines before delimeters.
  135.     (default t)
  136.  fortran-startup-message
  137.     Set to nil to inhibit message first time Fortran mode is used.
  138.  
  139. Turning on Fortran mode calls the value of the variable fortran-mode-hook 
  140. with no args, if that value is non-nil." nil])
  141. (fset 'fortran-comment-hook #[nil "è└┴xêi┬\\ ])ç" ["     " nil 1 comment-column] 2])
  142. (fset 'fortran-indent-comment #[nil "└yê┴\n!½â├ ç─ ½ÿ½Æ└öbêi╞ U?¡ë╟ ê╞ jç╚ç    ½ô┴╩!¼Ä╚ê╟ ê╞ jê    cç┴╩!½à╟ ê¬ë└yê╦cê╠uêcê╬;½å└H¬é╨ iZ\"ç" [0 looking-at comment-line-start-skip fortran-indent-line find-comment-start-skip comment-start-skip fortran-comment-hook delete-horizontal-space nil comment-start "^[     ]*$" "\n" -1 comment-line-start insert-char fortran-comment-indent-char calculate-fortran-indent] 4 "\
  143. Align or create comment on current line.
  144. Existing comments of all types are recognized and aligned.
  145. If the line has no comment, a side-by-side comment is inserted and aligned
  146. if the value of  comment-start  is not nil.
  147. Otherwise, a separate-line comment is inserted, on this line
  148. or on a new line inserted before this line if this line is not blank." nil])
  149. (fset 'fortran-comment-region #[(beg-region end-region arg) "└ ┴ ë ┼ôêbê╟yê¼ò    cê╩y╟U½╡` W½░    cê¬o╦    ! ═ !½à`╟ò|ê╩y╟U½Æ` W½ì═ !½o`╟ò|ê¬h)\nbê ┼ëôê\n┼ëô*ç" [make-marker point-marker save-point end-region-mark end-region nil beg-region 0 arg fortran-comment-region 1 regexp-quote com looking-at] 4 "\
  150. Comments every line in the region.
  151. Puts fortran-comment-region at the beginning of every line in the region. 
  152. BEG-REGION and END-REGION are args which specify the region boundaries. 
  153. With non-nil ARG, uncomments the region." "*r\nP"])
  154. (fset 'fortran-abbrev-start #[nil "└\ncê├ ë─U¼à    U½ä╞ ¬ä    ë)ç" [nil c last-command-char read-char 63 help-char fortran-abbrev-help unread-command-char] 2 "\
  155. Typing \";\\[help-command]\" or \";?\" lists all the fortran abbrevs. 
  156. Any other key combination is executed normally." nil])
  157. (fset 'fortran-abbrev-help #[nil "└┴!ê┬├!ê─╞\"ê└╟!ç" [message "Listing abbrev table..." require abbrevlist list-one-abbrev-table fortran-mode-abbrev-table "*Help*" "Listing abbrev table...done"] 3 "\
  158. List the currently defined abbrevs in Fortran mode." nil])
  159. (fset 'fortran-column-ruler #[nil "└    è┬yê├─ !┼─ !=½å╞yê`¬ü`)╞╟$ç" [momentary-string-display fortran-column-ruler 0 window-start selected-window window-point nil "Type SPC or any command to erase ruler."] 5 "\
  160. Inserts a column ruler momentarily above current line, till next keystroke.
  161. The ruler is defined by the value of fortran-column-ruler.
  162. The key typed is executed unless it is SPC." nil])
  163. (fset 'fortran-window-create #[nil "└┴┬Åç" [error (byte-code "└┬ ├ W½è─├ ┬ Z┼Z!ê╞╟!ê╚┼!ê╔╩╦\"ê╠═ !)ç" [2 window-min-width window-width screen-width enlarge-window-horizontally 1 split-window-horizontally 73 other-window switch-to-buffer " fortran-window-extra" t select-window previous-window] 3) ((error (byte-code "└┴!ê┬ç" [message "No room for fortran window." error] 2)))] 3 "\
  164. Makes the window 72 columns wide.
  165. See also fortran-window-create-momentarily." nil])
  166. (fset 'fortran-window-create-momentarily #[(&optional arg) "½à┴U½â┬ïç├ ç" [arg 1 ((byte-code "└ ┴Ü?¡ô┬├!ê─ ë╞╟!Ü«äë)ç" [fortran-window-create error message "Type SPC to continue editing." read-char char string-to-char " " unread-command-char] 4)) fortran-window-create] 2 "\
  167. Momentarily makes the window 72 columns wide.
  168. Optional ARG non-nil and non-unity disables the momentary feature.
  169. See also fortran-window-create." "p"])
  170. (fset 'fortran-split-line #[nil "└ êè┴yê┬ !)½ê─╞▒ê¬ò½ï╚cê╔╩ ╦\"ê¬å╠▒ê╬ ç" [delete-horizontal-space 0 looking-at comment-line-start-skip "\n" comment-line-start " " fortran-tab-mode "\n    " insert-char fortran-numerical-continuation-char 1 "\n " fortran-continuation-string fortran-indent-line] 3 "\
  171. Break line at point and insert continuation marker and alignment." nil])
  172. (fset 'fortran-numerical-continuation-char #[nil "è└yê┴┬!½î`├\\f─Z┼ª╞\\¬ü╞)ç" [-1 looking-at "    [1-9]" 1 48 9 49] 2 "\
  173. Return a digit for tab-digit style of continution lines.
  174. If, previous line is a tab-digit continuation line, returns that digit
  175. plus one.  Otherwise return 1.  Zero not allowed."])
  176. (fset 'delete-horizontal-regexp #[(chars) "┴xê`┴wê`|ç" [chars nil] 3 "\
  177. Delete all characters in CHARS around point.
  178. CHARS is like the inside of a [...] in a regular expression
  179. except that ] is never special and  quotes ^, - or ." "*s"])
  180. (fset 'fortran-electric-line-number #[(arg) "¼â    ¼ì½å┬├!!ç┬─!çi┼U½èè╞yê╟╚!)¼»    iU½ûè╞yê╟╩!)½î ╠=¼å ═=½ôè╬╧è╞yê`)╨#)¼à╟╤!½å┬├!!ç╥╙xêcê╠ ç" [arg fortran-electric-line-number self-insert-command prefix-numeric-value 1 5 0 looking-at "     " fortran-minimum-statement-indent "    " last-command fortran-indent-line fortran-reindent-then-newline-and-indent re-search-backward "[^     0-9]" t "[0-9]" "     " nil last-command-char] 4 "\
  181. Self insert, but if part of a Fortran line number indent it automatically.
  182. Auto-indent does not happen if a numeric arg is used." "P"])
  183. (fset 'beginning-of-fortran-subprogram #[nil "└┬yê├─┼╞#ê╟─!¡é╚y)ç" [t case-fold-search -2 re-search-backward "^[     0-9]*end\\b[     ]*[^     =(a-z]" nil move looking-at 1] 4 "\
  184. Moves point to the beginning of the current fortran subprogram." nil])
  185. (fset 'end-of-fortran-subprogram #[nil "└┬yê├─┼╞#ê╟öbê┬y)ç" [t case-fold-search 1 re-search-forward "^[     0-9]*end\\b[     ]*[^     =(a-z]" nil move 0] 4 "\
  186. Moves point to the end of the current fortran subprogram." nil])
  187. (fset 'mark-fortran-subprogram #[nil "└ ê┴`!ê┬ ç" [end-of-fortran-subprogram push-mark beginning-of-fortran-subprogram] 2 "\
  188. Put mark at end of fortran subprogram, point at beginning. 
  189. The marks are pushed." nil])
  190. (fset 'fortran-previous-statement #[nil "└ë├yê─!?¡Æ─╞╟!P!«ê─╔!«â─╩!╦y├Uë½£─!¼s─╠!¼n─╔!¼i─╩!¼d─╞P!¼\\    ½ê\n¼à╬╧!¬î    ½ä╨ ¬à\n?¡ü╤*ç" [nil continue-test not-first-statement 0 looking-at comment-line-start-skip "[     ]*" regexp-quote fortran-continuation-string "     [^ 0\n]" "    [1-9]" -1 "[     ]*$" comment-start-skip message "Incomplete continuation statement." fortran-previous-statement first-statement] 4 "\
  191. Moves point to beginning of the previous fortran statement.
  192. Returns 'first-statement if that statement is the first
  193. non-comment Fortran statement in the file, and nil otherwise." nil])
  194. (fset 'fortran-next-statement #[nil "└┬yê├y┬U¡ém?ë½£─!¼o─╞!¼j─╟!¼e─╚!¼`─╔\nP!¼X    ?¡ü╦)ç" [nil not-last-statement 0 1 looking-at comment-line-start-skip "[     ]*$" "     [^ 0\n]" "    [1-9]" "[     ]*" comment-start-skip last-statement] 3 "\
  195. Moves point to beginning of the next fortran statement.
  196. Returns `last-statement' if that statement is the last
  197. non-comment Fortran statement in the file, and nil otherwise." nil])
  198. (fset 'fortran-blink-matching-if #[nil "└┴ ┬`┬è╚yê╔┬wê╩╦!)àºè╚U¼╤╠ ═=¼╦╩╬!¼╞╔┬wê╩╧!½»è╩╨!¼á┬└y╚U½Æ╩╥!¼à╩╙!½ê╩╘!ë½h)½å└Z)¬7╩╦!½2└\\ë¬+╚U¼ä╒¬û`W½Ä╓╚yê`┬ê`{P¬é`) ½å├╫ \"¬ëbê╪└!ê b-ç" [1 window-start nil message endif-point matching-if top-of-window count 0 "     0-9" looking-at "end[     ]*if\\b" fortran-previous-statement first-statement "^[     0-9]*end\\b[     ]*[^     =(a-z]" "if[     ]*(" ".*)[     ]*then\\b[     ]*[^     (=a-z0-9]" then-test "     [^ 0\n]" "    [1-9]" ".*then\\b[     ]*[^     (=a-z0-9]" "No matching if." "Matches " "%s" sit-for] 6 "\
  199. From a fortran `endif' statement, blink the matching `if' statement."])
  200. (fset 'fortran-indent-line #[nil "└ è┬yê    ├ U½ì─┼`╞\\╟#½è╚ ¼å╔    !ê¬É┬yê╩ !¼ç╠ ½â═ ê)i    W½ä╬    !ê½ôè╨êi)V½êè╨ê╥ ê)¡é╙ )ç" [calculate-fortran-indent cfi 0 fortran-current-line-indentation re-search-forward "^[     ]*[0-9]+" 4 t fortran-line-number-indented-correctly-p fortran-indent-to-column looking-at comment-line-start-skip find-comment-start-skip fortran-indent-comment move-to-column auto-fill-hook nil fill-column fortran-do-auto-fill fortran-blink-matching-if] 4 "\
  201. Indents current fortran line based on its contents and on previous lines." nil])
  202. (fset 'fortran-reindent-then-newline-and-indent #[nil "½â┴ êè┬yê├─wê┼╞!¼Æ┼╟!¼ì┼╚!¼ê┼╔\n!!½â╦ ê)╠ ê╦ ç" [abbrev-mode expand-abbrev 0 "     " nil looking-at "[0-9]" "end" "else" regexp-quote fortran-continuation-string fortran-indent-line newline] 3 "\
  203. Reindent the current fortran line, insert a newline and indent the newline.
  204. An abbrev before point is expanded if abbrev-mode is non-nil." nil])
  205. (fset 'fortran-indent-subprogram #[nil "è└ ê┴┬!ê├`─ ┼#ê)┴╞!ç" [mark-fortran-subprogram message "Indenting subprogram..." indent-region mark nil "Indenting subprogram...done."] 4 "\
  206. Properly indents the Fortran subprogram which contains point." nil])
  207. (fset 'calculate-fortran-indent #[nil "└ë┴\nè╞ ë½à\néÿ`eU½ä\n¬â╟ ╚└wê╔╩!½¼╔╦!¼á└ ═y╬U½Æ╔╧!¼à╔╨!½ê╔╤!ë ½h )½╩\\¬├╔╙!½ç\\¬╖╔╘!½ç\\¬½╔╒!½ç\\¬ƒ╔╓!½ç\\¬ô╔╪!½ç\\¬ç╔┌!½é\n)è╬yê╔█!äd╔!½¥▐=½ç\\¬ïα=½à\n\\╬éd╔ßΓ#!P!¼è╔╧!¼à╔╨!½ê$\\éd ¼ %½É╔µ!½ïτ ½çZ¬δ╚└wê╔Φ!½çZ¬█╔╙!½çZ¬╧╔╘!½çZ¬├╔Θ!½çZ¬╖╔Ω!½ïτ ½çZ¬º╔δ!½çZ¬¢╔∞!½çZ¬Å╔┌!½è\nU¼àφε\n\"ê)\n],ç" [nil t fortran-minimum-statement-indent case-fold-search first-statement icol fortran-previous-statement fortran-current-line-indentation "     0-9" looking-at "if[     ]*(" ".*)[     ]*then\\b[     ]*[^     _$(=a-z0-9]" then-test 1 0 "     [^ 0\n]" "    [1-9]" ".*then\\b[     ]*[^     _$(=a-z0-9]" fortran-if-indent "\\(else\\|elseif\\)\\b" "\\(otherwise\\|else[     ]*where\\)\\b" "where.*(.*)[     ]*\n" "do\\b" fortran-do-indent "\\(structure\\|union\\|map\\)\\b[     ]*[^     =(a-z]" fortran-structure-indent "end\\b[     ]*[^     =(a-z]" "[     ]*$" comment-line-start-skip fortran-comment-indent-style relative fortran-comment-line-column fixed "[     ]*" regexp-quote fortran-continuation-string fortran-continuation-indent fortran-check-all-num-for-matching-do "[     ]*[0-9]+" fortran-check-for-matching-do "end[     ]*if\\b" "end[     ]*where\\b" "continue\\b" "end[     ]*do\\b" "end[     ]*\\(structure\\|union\\|map\\)\\b[     ]*[^     =(a-z]" message "Warning: `end' not in column %d.  Probably an unclosed block."] 5 "\
  208. Calculates the fortran indent column based on previous lines."])
  209. (fset 'fortran-current-line-indentation #[nil "è└yê┴\n!½ô└òbê ;½â ¬â─ !┼wê¬ö┴╞!¼à┴╟!½å└òbê¬ä╚┼wê╔┼wêi)ç" [0 looking-at comment-line-start-skip fortran-comment-indent-char char-to-string nil "     [^ 0\n]" "    [1-9]" "[     0-9]" "     "] 2 "\
  210. Indentation of current line, ignoring Fortran line number or continuation.
  211. This is the column position of the first non-whitespace character
  212. aside from the line number and/or column 5/8 line-continuation character.
  213. For comment lines, returns indentation of the first
  214. non-indentation text within the comment."])
  215. (fset 'fortran-indent-to-column #[(col) "è└yê┴\n!½ª à╓ ;½à └H¬ü └òbê╞╟╚!P!ê╔\niZ\")é╓┴╦!½ù ½å└òbꬰ═╬!ê╧cêcê¬δ┴╤!½ÿ ½Å═╥!ê╙cê╔╘ ╒\"ê¬╙╥uê¬╬╓ êm¼╚┴╫!!½£ ½Éjê═╒!ê╔╘ ╒\"ê¬â┘jê╒uê¬ñ┴┌!½ƒ┘└ò`ZZë└W½å▄▌!ê¬ç^jê)▀αwê╓ ê\njê!¡òΓ ¡æ└öbêiπ U?¡å╓ êπ j)ç" [0 looking-at comment-line-start-skip fortran-comment-indent-style fortran-comment-indent-char char delete-horizontal-regexp "     " char-to-string insert-char col "    [1-9]" fortran-tab-mode delete-char 2 "     " fortran-continuation-string "     [^ 0\n]" 6 "    " fortran-numerical-continuation-char 1 delete-horizontal-space regexp-quote fortran-minimum-statement-indent 5 "[0-9]+" extra-space message "Warning: line number exceeds 5-digit limit." fortran-line-number-indent "0-9" nil comment-start-skip find-comment-start-skip fortran-comment-hook] 5 "\
  216. Indents current line with spaces to column COL.
  217. notes: 1) A non-zero/non-blank character in column 5 indicates a continuation
  218.           line, and this continuation character is retained on indentation;
  219.        2) If fortran-continuation-string is the first non-whitespace character,
  220.           this is a continuation line;
  221.        3) A non-continuation line which has a number as the first
  222.           non-whitespace character is a numbered line.
  223.        4) A tab followed by a digit indicates a continuation line."])
  224. (fset 'fortran-line-number-indented-correctly-p #[nil "è└yê┴┬wêi X¡îi U«ç─┬wêi┼U)ç" [0 "     " nil fortran-line-number-indent "0-9" 5] 2 "\
  225. Return t if current line's line number is correctly indented.
  226. Do not call if there is no line number."])
  227. (fset 'fortran-check-for-matching-do #[nil "└┴è─yê┼╞!¡Ñ╟└wê╚└wê`╔└wê`{─yê╩╦ ╠ ═░└┴#¡à┼╬ P!+ç" [nil t case-fold-search charnum 0 looking-at "[     ]*[0-9]+" "     " "0" "0-9" re-search-backward "\\(^[     0-9]*end\\b[     ]*[^     =(a-z]\\)\\|\\(^[     0-9]*do[     ]*0*" "\\b\\)\\|\\(^[     ]*0*" "\\b\\)" "^[     0-9]*do[     ]*0*"] 6 "\
  228. When called from a numbered statement, returns t if matching 'do' is found.
  229. Otherwise return a nil."])
  230. (fset 'fortran-analyze-file-format #[nil "èebê└m¼ù┬├!¼Æ┬─!¼ì    V¼ê╞yê    T¬f┬├!½â╟¬É┬─!½â└¬ê½â╟¬ü└)ç" [0 i looking-at "    " "      " fortran-analyze-depth nil 1 fortran-tab-mode-default] 2 "\
  231. Return 0 if Fixed format is used, 1 if Tab formatting is used.
  232. Use fortran-tab-mode-default if no non-comment statements are found in the
  233. file before the end or the first fortran-analyze-depth lines."])
  234. (fset 'fortran-tab-mode #[(arg) "¼ä    ?¬ìº½ç┬!├V¬é└ ë½à─ ê¬â┼ ê╞╟ !ç" [arg fortran-tab-mode prefix-numeric-value 0 fortran-setup-tab-format-style fortran-setup-fixed-format-style set-buffer-modified-p buffer-modified-p] 3 "\
  235. Toggle fortran-tab-mode which indicates style of continuation lines.
  236. With no argument, toggle on/off the tabbing mode of continuation lines.
  237. If argument is a positive number, or non-nil if not a number, fortran-tab-mode
  238. is turned on.  Otherwise 
  239. If `fortran-tab-mode' is false" "P"])
  240. (fset 'fortran-setup-tab-format-style #[nil "┴]├┼╞P╚    ╩╦ !ç" [tab-width 6 fortran-minimum-statement-indent t indent-tabs-mode "0       810        20        30        40        50        60        70\n" "[   ]|  { |    |    |    |    |    |    |    |    |    |    |    |    |}\n" fortran-column-ruler " TAB-format" fortran-tab-mode-string set-buffer-modified-p buffer-modified-p] 2 "\
  241. Set up fortran mode to use the TAB-digit mode of continuation lines.
  242. Use the command \\[fortran-tab-mode] to toggle between this and fixed
  243. format style."])
  244. (fset 'fortran-setup-fixed-format-style #[nil "└┬─┼P╟╔╩ !ç" [6 fortran-minimum-statement-indent nil indent-tabs-mode "0   4 6  10        20        30        40        50        60        70\n" "[   ]|{   |    |    |    |    |    |    |    |    |    |    |    |    |}\n" fortran-column-ruler " Fixed-format" fortran-tab-mode-string set-buffer-modified-p buffer-modified-p] 2 "\
  245. Set up fortran mode to use the column 6 mode of continuation lines.
  246. Use the command \\[fortran-tab-mode] to toggle between this and tab
  247. character format style."])
  248. (byte-code "└    ₧¼ä┬    B└ç" [fortran-tab-mode-string minor-mode-alist (fortran-tab-mode-string fortran-tab-mode-string)] 2)
  249. (fset 'find-comment-start-skip #[nil "└ëè├ è└ê`)┼#)¡¿╞ö╞ò╟╞ö!½ëè    bê╚ )¬ô\nbê├ è└ê`)┼#ê╞òbê┼*ç" [nil save-match-end save-match-beginning re-search-forward comment-start-skip t 0 is-in-fortran-string-p find-comment-start-skip] 4 "\
  250. Move to past `comment-start-skip' found on current line.
  251. Return t if `comment-start-skip' found, nil if not." nil])
  252. (fset 'is-in-fortran-string-p #[(pos) "└è\nbê├ ê─ ê`\nW½¿┼╞!½ê╟ò╚\\bê¬n    ¼ï┼    !½à╚yê¬`┼╩!½â    ?╚uê¬S)    )ç" [nil is-in-fortran-string pos fortran-previous-statement fortran-next-statement looking-at "^     " 0 1 comment-start-skip "'"] 2 "\
  253. t if POS (a buffer position) is inside a standard Fortran string.
  254. Fortran strings are delimeted by apostrophes (').  Quote-Escape-sequences
  255. (\\'), strings delimited by \" and detection of syntax-errors
  256. (unbalanced quotes) are NOT supported."])
  257. (fset 'fortran-auto-fill-mode #[(arg) "¼ä    ?¬à┬!├V¡ü─ë┼╞ !êç" [arg auto-fill-hook prefix-numeric-value 0 fortran-indent-line set-buffer-modified-p buffer-modified-p] 3 "\
  258. Toggle fortran-auto-fill mode.
  259. With arg, turn fortran-auto-fill mode on iff arg is positive.
  260. In fortran-auto-fill mode, inserting a space at a column beyond  fill-column
  261. automatically breaks the line at a previous space." "P"])
  262. (byte-code "└┴Mê┬├Mê─┼!ç" [fortran-do-auto-fill #[nil "`è┴yê`)è├ê`)ë\n┼ \\^è\nbê╟!?¡₧╔\n!ê╦`!½ôè╠═\n╬#ê½â`¬é`T)¬ü├)ë«╚è╔\nT!ê╤├xê`TX½É╔\nT!ê╥╙ ╬#¼â\nbên½ê╥╘╬#ê¬æ╒uê╟╓!½à╫uê¬ä╪├xê½â`¬é`T)è╠\n╬#¡Å╦`!?¡ë█├xêi\nTW)«çèbên)?¡¼èbêi)\nTV½êbê▄ ¬ùèèbêi)▌ \\V¡åbê▄ ).ç" [opoint 0 bol nil eol fortran-current-line-indentation bos looking-at comment-line-start-skip move-to-column fill-column is-in-fortran-string-p re-search-backward "[^']'[^']" t fortran-break-before-delimiters quote "^     \n,'+-/*)=" re-search-forward "[    \n,'+-/*)=]" "[     ]" -1 "'" 1 "     *" fill-point comment-start-skip "     " fortran-break-line calculate-fortran-indent fortran-continuation-indent] 5 nil nil] fortran-break-line #[nil "`è└yê`)è┴ê`)┴è½ô╟ ½Å╚ ╔#ê` {` |ê)è╩yê╦╠!«â╦═!)½Æ╩yê╬ ê╧╨!ê╤ ê╥ ê¬â╙ ê\n¡æè bê┴ê╤ ê╘ jê\nc),ç" [0 nil comment-string eol bol opoint comment-start-skip find-comment-start-skip re-search-backward t 1 looking-at "     [^ 0\n]" "    [1-9]" delete-indentation delete-char 2 delete-horizontal-space fortran-do-auto-fill fortran-split-line fortran-comment-hook] 4] provide fortran] 2)
  263.